package py.com.sole.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class DateUtil {
	
	
	public static Date dateFormater(String fecha, String formato)
	{
		//SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
		SimpleDateFormat formatter = new SimpleDateFormat(formato);
		String dateInString =fecha;
	 
		try {
	 
			Date date = formatter.parse(dateInString);
			//System.out.println(date);
			//System.out.println(formatter.format(date));
			return date; 
	 	
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			//e.printStackTrace();
			return null;
		}

	}
	public static Date getDateFromHour(String hora, String minuto)
	{
		return getDateFromHour(hora,minuto,"00");
	}
	
	public static Date getDateFromHour(String hora, String minuto, String segundo)
	{
		
		
		if (Integer.parseInt(hora) < 10)
		{
			hora = "0" + hora;
		}
		if (Integer.parseInt(minuto) < 10)
		{
			minuto = "0" + minuto;
		}
		
		String horaCompleta=hora + ":"  + minuto + ":" + segundo;
		return dateFormater(getCurrentDate() + " " + horaCompleta,"yyyy/MM/dd HH:mm:ss");
	}
	
	public static String  getCurrentDate()
	{
		Calendar now = Calendar.getInstance();
		int year = now.get(Calendar.YEAR);
		int month = now.get(Calendar.MONTH) + 1; // Note: zero based!
		int day = now.get(Calendar.DAY_OF_MONTH);
		int hour = now.get(Calendar.HOUR_OF_DAY);
		int minute = now.get(Calendar.MINUTE);
		int second = now.get(Calendar.SECOND);
		int millis = now.get(Calendar.MILLISECOND);
		String fecha=year + "/" + month + "/" + day ;
		
		return fecha;
		
	}
	public static Date  getDateTime(Date fecha, Date hora)
	{
		Calendar calFecha = Calendar.getInstance();
		Calendar calHora = Calendar.getInstance();
		Calendar calResultado = Calendar.getInstance();
		
		calFecha.setTime(fecha);
		calHora.setTime(hora);
		calResultado.set(Calendar.YEAR, calFecha.get(Calendar.YEAR));
		calResultado.set(Calendar.MONTH, calFecha.get(Calendar.MONTH));
		calResultado.set(Calendar.DAY_OF_MONTH, calFecha.get(Calendar.DAY_OF_MONTH));
		calResultado.set(Calendar.HOUR, calHora.get(Calendar.HOUR));
		calResultado.set(Calendar.MINUTE, calFecha.get(Calendar.MINUTE));
		calResultado.set(Calendar.SECOND, calFecha.get(Calendar.SECOND));
		
		return calResultado.getTime();		
	}
	
}
